情報の表現 — 記号・符号化 ( その 1)
山本昌志 ∗ 2007 年 10 月 19 日
概 要 情報の表現の方法を学ぶ.
1 本日の学習内容
情報の表現の方法とデジタル化の基礎を学ぶ.教科書 [1] の pp.11–27 が本日の範囲である.そして,本 日の授業のゴ ールは以下のように設定している.
情報の表現には様々な方法があることが分かる.
アナログデータをデジタルデータに変換する方法が分かる.
標本化定理が理解できる.
信号を周波数に分解でき,データを圧縮できることが分かる.
2 情報の表現
2.1 表現のさまざまな側面
情報を表現するためには,自然言語と人工言語による表現がある.我々が使っている日本語は自然言語 で,プログラミング言語は人工言語である.
自然言語と人工言語を列挙してみよう.
教科書の例に書いてあるように,道案内を行う場合,手続き的表現と宣言的表現がある.
2.2 情報の表現とモデル
情報を表現するためには,上手に複雑な現実を分かりやすくモデル化することが重要である.教科書では,
単純化/抽象化された事物/事象/概念のことを一般にモデル化と言う.
∗独立行政法人 秋田工業高等専門学校 電気情報工学科
と書いている.これはど ういうことなのだろうか? 教科書ではジェット機のモデル化の話がある.諸君は,
伝送線路を集中定数モデル化する方法を知っているだろう.
見方を変えれば,すべの情報はモデル化されると言っても良いだろう.また,同じものを見ても,さまざ まなモデル化ができる.数多くあるモデルのうち,ど のようなモデルが良いのだろうか? 一般的には,次 のようなことを満たすモデルが良いとされている.
広範囲に適用できること.
単純であること.
モデル化したものを表現する代表的な方法が,表と図,グラフである.このあたりの話は教科書の通り.
3 記号と表現
3.1 ピクトグラム
図記号 (ピクトグラム:pictogram) は,絵文字とか呼ばれるもので,視覚的に分かりやすく瞬時にそれが
表す情報が分かる.コンピューターのアイコンが代表的なものである.それ以外に,教科書に書いてあるよ うな高速道路のサービスエリアがある.
3.2 数の表現
この辺の話は,3 年生の電子計算機で説明した内容とほとんど 同じである.忘れたものは,そのときの講 義ノート
1を見よ.
時間があれば説明するが,教科書を読めば,直ちに理解できる内容である.
4 アナログとデジタル
4.1 アナログ表現とデジタル表現
自然界で観測される量は,ほとんど 全てアナログデータと言っても良い.それは,時間的に連続的に変化 する.例えば,皆さんが発生する声のデータをマイクロフォンを使って電圧に変化させて,観測すると図 1 のようになるかもしれない.
アナログデータをデジタルデータに変換する場合,ある等間隔
2の時刻で信号を観測する.先ほどのマイ クロフォンから出てくる電圧であれば,図 2 のように観測する.図中の●が観測データである.このよう にデータを取り出す操作を標本化 (sampling) と呼ぶ.
時刻を等間隔で区切って観測するように,電圧も等間隔に区切る.電圧の区切る話は,次の「量子化」で 述べる.
1
http://akita-nct.jp/yamamoto/lecture/2005/3E/2nd/html/index.html
2等間隔である必要は無い.しかし ,等間隔の法が圧倒的に後での利用が簡単である.
標本化により取り出させたデータは,数値化されて保存できる.図 1 のようなアナログ量が連なった数 値 (数列) として,表されたことになる.このように数値の列に情報を表現すると,コンピューターでは容 易に取り扱うことができる.このようなデータをデジタルデータと呼ぶ.
もちろん,この数列から,元のアナログ信号を再構成できなくては,意味がない.再構成した様子を図 3 に示す.この図から,再構成された信号は元のデータと似ているが,多少,波形が異なることが分かる.す なわちデータが劣化したのである.データをデジタル化する場合,このデータの劣化は避けることができ ない.
元のアナログ信号と比較して,DA 変換して再構成した信号のどの部分の誤差が大きいか ?
そもそも誤差はどのように定義すれが良いだろうか?
デジタルデータを再構成する場合,図 3 よりも誤差を小さくする方法を考えよ.
時刻
電圧
図 1: 観測したアナログデータ.全ての時刻で値があり,連続に変化している.
時刻
電圧
図 2: アナログ信号をサンプリングを行い,データをデジタル化している.等間隔の時刻で測定した電圧が 記録される.また,電圧も特定の電圧間隔で測定している.この電圧を記録したものがデジタルデータで ある.
時刻
電圧
図 3: デジタルデータから元の信号を再構成する.
4.2 量子化
AD 変換器により,アナログデータをデジタルデータに変換することを量子化という.量子力学で学んだ ように,原子の内部にある束縛された電子は連続的なエネルギーを持つことができず,とびとびの値 (離散 的な値) を持つ.このように離散的な値を持つものを総称して量子と呼ぶ.
音声信号を 10 ビットで量子化することを考える.音声信号は,-5[V]〜5[V] の範囲の電圧信号とする.10 ビットなので,2
10= 1024 段階に分解できる.従って,分解能は,
10
1024 − 1 ' 0.009775 (1)
となる.したがって,0.009775[V] 以下の電圧の変化は AD 変換器では区別できない.
4.3 標本化定理
アナログ信号をデジタル化するとき,サンプリングを行い,電圧信号に変換する.この作業を標本化と言 う.標本化を行うとき,サンプ リング間隔に気をつけいないと,元の情報をきちんと再生できない.
サンプリング間隔が信号の周期よりも長くなると,元の信号の再生ができない.もちろん,これは直感的 に理解できる.それでは,信号の周期とサンプ リング間隔ではど のような関係があるのだろうか? これは シャノン (Claude Elwood Shannon,1916–2001) によって,示された.
サンプ リング周波数 f s の半分の周波数以上の周波数はきちんと再生できない.
要するに,信号の周波数がサンプリング周波数の半分以上になるとダ メと言うことである.従って,サンプ
リング周波数は元の信の周波数の2
倍以上にしなくてはならない—ということである.サンプ リング周波 数の半分の周波数をナイキスト周波数という.
サンプリング周波数を f S としたとき,入力信号の周波数( f i )がナイキスト周波数より大きいと,その 信号周波数が f S − f i として標本化される.このような現象を,エイリアシング (aliasing)
3と呼び ,その 様子を図 4 に示す.この例ではサンプ リング周波数が 1[KHz] なのでナイキスト周波数は 0.5[kHz] になる.
信号の周波数が 0.6[kHz] とナイキスト周波数よりも高いので,サンプ リング周波数と信号の周波数の差,
0.4[kHz] が標本化される.実際の信号と異なるので,非常にまずいことになる.
CD のサンプリング周波数 f S = 44.1[KHz] の場合,ナイキスト周波数は 22.05[kHz] である.音声信号に このナイキスト周波数以上の信号が混じると,へんな音が再生されることになる.そのため,信号を AD 変 換するときには,ローパスフィルターをつけて,ナイキスト周波数以上の信号が混じらないようにしている.
エイリアシングには,いろいろな場面で遭遇する.蛍光灯の下で扇風機を動かし始めるときと止めるとき にエイリアシングが起きる.羽がゆっくり回って見えたり,止まったり,逆回転が見えたりする.また,テ レビの中で車のタイヤの回転が同じように見えることがある.これはすべてエイリアシングが起きている.
蛍光灯の元でのサンプ リング周波数は,いくらか?
TV を通して観察するときのサンプ リング周波数は,いくらか?
3専門用語なので辞書に載っていない.alias:別名.
-1 -0.5 0 0.5 1
-4 -2 0 2 4
Volt [V]
Time [msec]
図 4: エイリアシングの例.点線が実際の信号 (0.6[kHz]) で,それを 1[KHz] でサンプ リングした.●がサ ンプ リングの結果である.サンプ リングの結果は,実線で表した 0.4[kHz] の信号と一致する.
なぜこのようなことが生じるか? 考えてみよう.いろいろな説明方法を考えたが,どれも結構難しい.4 年生のときに学習した複素フーリエ級数
4を使うとど うだろうか.
サンプ リングは,図 5 の点線の矩形波を信号に乗算していると考える.この矩形波の幅がゼロ近づく極 限
5がサンプリングとなる.いくら幅が狭くても,この矩形波 g(t) は,繰り返し波形なのでフーリエ級数
6で 表すことができるであろう.
g(t) = X
∞n=
−∞C n e inω
st (2)
ここで,ω s がサンプ リングの角振動数である.標本化する信号を f i (t) とすると,標本化された信号は
V (t) = f i (t) X
∞n=
−∞C n e inω
st (3)
となる.簡単に考えるために,標本化される信号が三角関数 Ae iω
it であった場合を考える.この場合,
V (t) = Ae iω
it X
∞n=
−∞C n e inω
st (4)
と標本化される.ここで,サンプ リング周波数と信号の周波数の関係を次のように書き改める.
ω i = ω s − ω
1(5)
4デ ィラックの
δ
関数を使うと,もっとエレガントな説明ができるかも???5実際の測定では矩形はは有限の幅を持つ.ゼロの極限では観測できない.数学ではゼロの極限で取り扱う.
6複素フーリエ級数を使っているが,オイラーの公式
e
ix= cos(x) + i sin(x)
を考えれば簡単.この関係を使うと,式 4 は
V (t) = Ae iω
it X
∞n=
−∞C n e inω
st
= Ae i(ω
s−ω
1)tX
∞n=
−∞C n e inω
st
= Ae
−iω
1t X
∞n=
−∞C n e i(n+1)ω
st
= Ae
−iω
1t X
∞n=
−∞C n e inω
st (6)
と書き換えることができる.この結果は,サンプ リング角周波数 ω s の場合,角周波数 ω i の信号と,角周 波数 ω
1= ω s − ω i の信号の見分けがつかないと言っている.すなわち,サンプリング周波数が 1[kHz] の場 合,0.6[kHz] の信号は 0.4[kHz] の信号と同じと言うことである.
以上の結果から,サンプリング周波数が 1[kHz] の場合,その半分の周波数 (0.5[kHz]) まで再生がきちん と再生できることになる.むろん,再生した信号には 0.5[kHz] 以上を含んではならない.
1
T
s図 5: 実線が実際の信号で.●がサンプリングの結果である.点線の矩形がサンプリングを取り出す関数で ある.
4.4 周期周波数への分解
教科書のこのあたりの話は,計算機によるフーリエ変換と関係している.
諸君が昨年の応用解析で学習したフーリエ変換は数学だったので,関数 f (x) は連続的な値であった.し
かし,実際の測定量,例えば電圧など 連続的に測定してそのデータが蓄えられるわけではない.連続ではな
く離散的なデータとなる.これをフーリエ変換する方法を示す.
ここでも話を簡単にするために,周期を 2π とする.その,周期の中で N 個の等間隔でデータが得られた としよう.いわゆる,サンプリングである.データが等間隔に並ぶということは FFT で重要となる.ここ では FFT まで,話をしない.
サンプ リングで得られたデータを x j = 2π
N j (j = 0, 1, 2, · · · , N − 1) (7)
とする.この場合,サンプ リング周波数は N/(2π),角振動数は N となる.ここで得られデータを
f j = f (x j ) (8)
とおく.
準備ができたので,実際のフーリエ級数の式 f (x) =
X
∞−∞